//放全局状态的地方

//导入创建全局状态的方法
import { createStore } from "vuex";


//vuex创建一个新的store实例
const store = createStore({
    //state是用来放全局状态的地方
    state(){
        //全局数据
        return{
            count:100,
            //放用户的登录信息
            //如果存在缓存使用缓存，否则使用空对象 
            userInfo:localStorage.getItem('userInfo')===null|undefined?'':JSON.parse(localStorage.getItem('userInfo'))
        }
    },
    //mutations中放的是唯一修改数据的方法
    mutations: {
        add(state){
            state.count++
        },
        addNum(state,val){
            state.count+=val
        },

        //登录和退出时使用
        changeUserInfo(state,user){
            state.userInfo=user
            //将数据保存在本地
            localStorage.setItem('userInfo', JSON.stringify(user))
        }
    },

})

export default store 